/**
 * Copyright(C): CETC-32
 * @Description: 数据管理目录文件视图接口实现
 * @author: youqing
 * @version: 1.0
 * @date: 2020/9/11 10:55
 * 更改描述：
 */

package com.cetc32.dh.service.impl;

import com.cetc32.dh.entity.VfileMenu;
import com.cetc32.dh.service.VfileMenuService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.cetc32.dh.mybatis.VfileMenuMapper;
import java.util.Date;
import java.util.List;

/**
 * @Title: VfileMenuServiceImpl
 * @Description:
 * @author: youqing
 * @version: 1.0
 * @date: 2020/11/21 11:04
 */
@Service
public class VfileMenuServiceImpl implements VfileMenuService {

    @Autowired
    public VfileMenuMapper vfileMenuMapper;

    /**根据目录节点menuId和文件安全等级fileSecurity查询文件目录视图列表
     * @param menuId
     * @param fileSecurity
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> queryByFileSecurityAndMenuId(Long menuId, String fileSecurity){
        return vfileMenuMapper.queryByFileSecurityAndMenuId(menuId,fileSecurity);
    }

    /**根据目录节点menuId查询文件目录视图列表
     * @param menuId
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> queryFilesByMenuId(Long menuId){
        return vfileMenuMapper.queryFilesByMenuId(menuId);
    }

    /**根据目录节点menuId和文件创建time查询文件目录视图列表
     * @param menuId
     * @param time
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> queryFilesByTime(Long menuId, Date time){
        return vfileMenuMapper.queryFilesByTime(menuId,time);
    }

    /**根据目录节点menuId和文件区域region查询文件目录视图列表
     * @param menuId
     * @param region
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> queryFilesByRegion(Long menuId, String region){
        return vfileMenuMapper.queryFilesByRegion(menuId,region);
    }

    /**根据文件名字，年份，区域，类型，安全等级查询文件目录视图列表
     * @param fileName
     * @param fileYear
     * @param region
     * @param fileType
     * @param fileSecurity
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> queryFilesByChoose(String fileName, Integer fileYear,String region,String fileType,String fileSecurity){
        fileName="%"+fileName+"%";
        return vfileMenuMapper.queryFilesByChoose(fileName,fileYear,region,fileType,fileSecurity);
    }

    /**动态查询文件目录视图列表
     * @param offset
     * @param limit
     * @param vfileMenu
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> queryFilesByObj(Integer offset, Integer limit, VfileMenu vfileMenu){
        if(vfileMenu.getFileName()!=null){
            String fileName="%"+vfileMenu.getFileName()+"%";
            vfileMenu.setFileName(fileName);
        }
        if(vfileMenu.getRegion().equals("全部区域")){
            vfileMenu.setRegion(null);
        }
        if(vfileMenu.getFileType().equals("全部类型")){
            vfileMenu.setFileType(null);
        }
        return  vfileMenuMapper.queryFilesByObj(offset,limit,vfileMenu);
    }

    /**动态查询获取文件目录视图列表个数
     * @param vfileMenu
     * @return Integer
     */
    @Override
    public Integer countFilesByObj(VfileMenu vfileMenu){
        return vfileMenuMapper.countFilesByObj(vfileMenu);
    }

    /**查询数据库中所有的不同年份
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> distinctAllYear(){
        return vfileMenuMapper.distinctAllYear();
    }

    /**查询数据库中所有的不同区域
     * @return List<VfileMenu>
     */
    @Override
    public List<VfileMenu> distinctAllRegion(){
        return vfileMenuMapper.distinctAllRegion();
    }


}
